#include "acl_stdafx.hpp"
#include "acl_cpp/hsocket/hserror.hpp"

namespace acl
{

	static const char* dummy_unknown = "uknown error";

	hserror::hserror()
	{
	}

	hserror::~hserror()
	{
	}

	const char* hserror::get_serror(int errnum)
	{
		static struct
		{
			int  err;
			const char* msg;
		} err_list[] =
		{
			{ HS_ERR_INVALID_REPLY, "server reply invalid" },
			{ HS_ERR_EMPTY, "server reply empty" },
			{ HS_ERR_PARAMS, "params invalid" },
			{ HS_ERR_NOT_OPEN, "server's table not open" },
			{ HS_ERR_READ, "read from server error" },
			{ HS_ERR_WRITE, "write to server error" },
			{ HS_ERR_CONN, "connect server error" },
			{ HS_ERR_OK, "ok" },

			{ -1000, NULL}
		};

		for (int i = 0; err_list[i].msg != NULL; i++)
		{
			if (err_list[i].err == errnum)
				return (err_list[i].msg);
		}
		return (dummy_unknown);
	}

}
